added python funtions - #213
Conversation
100+ Python challenging programming exercises for Python 31. Level descriptionLevel 1 BeginnerBeginner means someone who has just gone through an introductory Python course. He can solve some problems with 1 or 2 Python classes or functions. Normally, the answers could directly be found in the textbooks. Level 2 IntermediateIntermediate means someone who has just learned Python, but already has a relatively strong programming background from before. He should be able to solve problems which may involve 3 or 3 Python classes or functions. The answers cannot be directly be found in the textbooks. Level 3 Advanced.He should use Python to solve more complex problem using more rich libraries functions and data structures and algorithms. He is supposed to solve the problem using several Python standard packages and advanced techniques. 2. Problem templateQuestion 3. QuestionsQuestion 1Level 1 Question: Hints: Solution: l=[]
for i in range(2000, 3201):
if (i%7==0) and (i%5!=0):
l.append(str(i))
print(','.join(l))Question 2Level 1 Question: Hints: Solution: def fact(x):
if x == 0:
return 1
return x * fact(x - 1)
x=int(input())
print(fact(x))Question 3Level 1 Question: Hints: Solution: n=int(input())
d=dict()
for i in range(1,n+1):
d[i]=i*i
print(d)Question 4Level 1 Question: Hints: Solution: values=input()
l=values.split(",")
t=tuple(l)
print(l)
print(t)Question 5Level 1 Question: Hints: Solution: class InputOutString(object):
def __init__(self):
self.s = ""
def getString(self):
self.s = input()
def printString(self):
print(self.s.upper())
strObj = InputOutString()
strObj.getString()
strObj.printString()Question 6Level 2 Question: Hints: Solution: import math
c=50
h=30
value = []
items=[x for x in input().split(',')]
for d in items:
value.append(str(int(round(math.sqrt(2*c*float(d)/h)))))
print(','.join(value))Question 7Level 2 Question: Hints: Solution: input_str = input()
dimensions=[int(x) for x in input_str.split(',')]
rowNum=dimensions[0]
colNum=dimensions[1]
multilist = [[0 for col in range(colNum)] for row in range(rowNum)]
for row in range(rowNum):
for col in range(colNum):
multilist[row][col]= row*col
print(multilist)Question 8Level 2 Question: Hints: Solution: items=[x for x in input().split(',')]
items.sort()
print(','.join(items))Question 9Level 2 Question£º Hints: Solution: lines = []
while True:
s = input()
if s:
lines.append(s.upper())
else:
break;
for sentence in lines:
print(sentence)Question 10Level 2 Question: Hints: Solution: s = input()
words = [word for word in s.split(" ")]
print(" ".join(sorted(list(set(words)))))Question 11Level 2 Question: Hints: Solution: value = []
items=[x for x in input().split(',')]
for p in items:
intp = int(p, 2)
if not intp%5:
value.append(p)
print(','.join(value))Question 12Level 2 Question: Hints: Solution: values = []
for i in range(1000, 3001):
s = str(i)
if (int(s[0])%2==0) and (int(s[1])%2==0) and (int(s[2])%2==0) and (int(s[3])%2==0):
values.append(s)
print(",".join(values))Question 13Level 2 Question: Hints: Solution: s = input()
d={"DIGITS":0, "LETTERS":0}
for c in s:
if c.isdigit():
d["DIGITS"]+=1
elif c.isalpha():
d["LETTERS"]+=1
else:
pass
print("LETTERS", d["LETTERS"])
print("DIGITS", d["DIGITS"])Question 14Level 2 Question: Hints: Solution: s = input()
d={"UPPER CASE":0, "LOWER CASE":0}
for c in s:
if c.isupper():
d["UPPER CASE"]+=1
elif c.islower():
d["LOWER CASE"]+=1
else:
pass
print("UPPER CASE", d["UPPER CASE"])
print("LOWER CASE", d["LOWER CASE"])Question 15Level 2 Question: Hints: Solution: a = input()
n1 = int( "%s" % a )
n2 = int( "%s%s" % (a,a) )
n3 = int( "%s%s%s" % (a,a,a) )
n4 = int( "%s%s%s%s" % (a,a,a,a) )
print(n1+n2+n3+n4)Question 16Level 2 Question: Hints: Solution: values = input()
numbers = [x for x in values.split(",") if int(x)%2!=0]
print(",".join(numbers))Question 17Level 2 Question: D means deposit while W means withdrawal. Hints: Solution: netAmount = 0
while True:
s = input()
if not s:
break
values = s.split(" ")
operation = values[0]
amount = int(values[1])
if operation=="D":
netAmount+=amount
elif operation=="W":
netAmount-=amount
else:
pass
print(netAmount)Question 18Level 3 Question:
Hints: Solutions: import re
value = []
items=[x for x in input().split(',')]
for p in items:
if len(p)<6 or len(p)>12:
continue
else:
pass
if not re.search("[a-z]",p):
continue
elif not re.search("[0-9]",p):
continue
elif not re.search("[A-Z]",p):
continue
elif not re.search("[$#@]",p):
continue
elif re.search("\s",p):
continue
else:
pass
value.append(p)
print(",".join(value))Question 19Level 3 Question: Hints: Solutions: l = []
while True:
s = input()
if not s:
break
l.append(tuple(s.split(",")))
print(sorted(l, key=itemgetter(0,1,2)))Question 20Level 3 Question: Hints: Solution: def putNumbers(n):
i = 0
while i<n:
j=i
i=i+1
if j%7==0:
yield j
for i in reverse(100):
print(i)Question 21Level 3 Question Hints: Solution: import math
pos = [0,0]
while True:
s = input()
if not s:
break
movement = s.split(" ")
direction = movement[0]
steps = int(movement[1])
if direction=="UP":
pos[0]+=steps
elif direction=="DOWN":
pos[0]-=steps
elif direction=="LEFT":
pos[1]-=steps
elif direction=="RIGHT":
pos[1]+=steps
else:
pass
print(int(round(math.sqrt(pos[1]**2+pos[0]**2))))Question 22Level 3 Question: Hints Solution: freq = {} # frequency of words in text
line = input()
for word in line.split():
freq[word] = freq.get(word,0)+1
words = freq.keys()
words.sort()
for w in words:
print("%s:%d" % (w,freq[w]))Question 23level 1 Question: Hints: Solution: def square(num):
return num ** 2
print(square(2))
print(square(3))Question 24Level 1 Question: Python has many built-in functions, and if you do not know how to use it, you can read document online or find some books. But Python has a built-in document function for every built-in functions. Please write a program to print some Python built-in functions documents, such as abs(), int(), raw_input() And add document for your own function Solution: print(abs.__doc__)
print(int.__doc__)
print(input.__doc__)
def square(num):
'''Return the square value of the input number.
The input number must be integer.
'''
return num ** 2
print(square(2))
print(square.__doc__)Question 25Level 1 Question: Hints: Solution: class Person:
# Define the class parameter "name"
name = "Person"
def __init__(self, name = None):
# self.name is the instance parameter
self.name = name
jeffrey = Person("Jeffrey")
print("%s name is %s" % (Person.name, jeffrey.name))
nico = Person()
nico.name = "Nico"
print("%s name is %s" % (Person.name, nico.name))Question 26:Define a function which can compute the sum of two numbers. Hints: Solution def SumFunction(number1, number2):
return number1+number2
print(SumFunction(1,2))Question 27Define a function that can convert a integer into a string and print it in console. Hints: Use str() to convert a number to string. Solution def printValue(n):
print(str(n))
printValue(3)Question 28Define a function that can convert a integer into a string and print it in console. Hints: Use str() to convert a number to string. Solution def printValue(n):
print(str(n))
printValue(3)Question 29Define a function that can receive two integral numbers in string form and compute their sum and then print it in console. Hints: Use int() to convert a string to integer. Solution def printValue(s1,s2):
print(int(s1)+int(s2))
printValue("3","4")Question 30Define a function that can accept two strings as input and concatenate them and then print it in console. Hints: Use + to concatenate the strings Solution def printValue(s1,s2):
print(s1+s2)
printValue("3","4") #34Question 31Define a function that can accept two strings as input and print the string with maximum length in console. If two strings have the same length, then the function should print al l strings line by line. Hints: Use len() function to get the length of a string Solution def printValue(s1,s2):
len1 = len(s1)
len2 = len(s2)
if len1>len2:
print(s1)
elif len2>len1:
print(s2)
else:
print(s1)
print(s2)
printValue("one","three")Question 32Define a function that can accept an integer number as input and print the "It is an even number" if the number is even, otherwise print "It is an odd number". Hints: Use % operator to check if a number is even or odd. Solution def checkValue(n):
if n%2 == 0:
print("It is an even number")
else:
print("It is an odd number")
checkValue(7)
### Question 33
Define a function which can print a dictionary where the keys are numbers between 1 and 3 (both included) and the values are square of keys.
Hints:
Use dict[key]=value pattern to put entry into a dictionary.
Use ** operator to get power of a number.
Solution
```python
def printDict():
d=dict()
d[1]=1
d[2]=2**2
d[3]=3**2
print(d)
printDict()Question 34Define a function which can print a dictionary where the keys are numbers between 1 and 20 (both included) and the values are square of keys. Hints: Use dict[key]=value pattern to put entry into a dictionary. Solution def printDict():
d=dict()
for i in range(1,21):
d[i]=i**2
print(d)
printDict()Question 35Define a function which can generate a dictionary where the keys are numbers between 1 and 20 (both included) and the values are square of keys. The function should just print the values only. Hints: Use dict[key]=value pattern to put entry into a dictionary. Solution def printDict():
d=dict()
for i in range(1,21):
d[i]=i**2
for (k,v) in d.items():
print(v)
printDict()Question 36Define a function which can generate a dictionary where the keys are numbers between 1 and 20 (both included) and the values are square of keys. The function should just print the keys only. Hints: Use dict[key]=value pattern to put entry into a dictionary. Solution def printDict():
d=dict()
for i in range(1,21):
d[i]=i**2
for k in d.keys():
print(k)
printDict()Question 37Define a function which can generate and print a list where the values are square of numbers between 1 and 20 (both included). Hints: Use ** operator to get power of a number. Solution def printList():
li=list()
for i in range(1,21):
li.append(i**2)
print(li)
printList()Question 38Define a function which can generate a list where the values are square of numbers between 1 and 20 (both included). Then the function needs to print the first 5 elements in the list. Hints: Use ** operator to get power of a number. Solution def printList():
li=list()
for i in range(1,21):
li.append(i**2)
print(li[:5])
printList()Question 39Define a function which can generate a list where the values are square of numbers between 1 and 20 (both included). Then the function needs to print the last 5 elements in the list. Hints: Use ** operator to get power of a number. Solution def printList():
li=list()
for i in range(1,21):
li.append(i**2)
print(li[-5:])
printList()Question 40Define a function which can generate a list where the values are square of numbers between 1 and 20 (both included). Then the function needs to print all values except the first 5 elements in the list. Hints: Use ** operator to get power of a number. Solution def printList():
li=list()
for i in range(1,21):
li.append(i**2)
print li[5:]
printList()Question 41Define a function which can generate and print a tuple where the value are square of numbers between 1 and 20 (both included). Hints: Use ** operator to get power of a number. Solution def printTuple():
li=list()
for i in range(1,21):
li.append(i**2)
print(tuple(li))
printTuple()Question 42With a given tuple (1,2,3,4,5,6,7,8,9,10), write a program to print the first half values in one line and the last half values in one line. Hints: Use [n1:n2] notation to get a slice from a tuple. Solution tp=(1,2,3,4,5,6,7,8,9,10)
tp1=tp[:5]
tp2=tp[5:]
print(tp1)
print(tp2)Question 43Write a program to generate and print another tuple whose values are even numbers in the given tuple (1,2,3,4,5,6,7,8,9,10). Hints: Use "for" to iterate the tuple Solution tp=(1,2,3,4,5,6,7,8,9,10)
li=list()
for i in tp:
if tp[i]%2==0:
li.append(tp[i])
tp2=tuple(li)
print(tp2)Question 44Write a program which accepts a string as input to print "Yes" if the string is "yes" or "YES" or "Yes", otherwise print "No". Hints: Use if statement to judge condition. Solution s= raw_input()
if s=="yes" or s=="YES" or s=="Yes":
print "Yes"
else:
print "No"Question 45Write a program which can filter even numbers in a list by using filter function. The list is: [1,2,3,4,5,6,7,8,9,10]. Hints: Use filter() to filter some elements in a list. Solution li = [1,2,3,4,5,6,7,8,9,10]
evenNumbers = filter(lambda x: x%2==0, li)
print(evenNumbers)Question 46Write a program which can map() to make a list whose elements are square of elements in [1,2,3,4,5,6,7,8,9,10]. Hints Solution li = [1,2,3,4,5,6,7,8,9,10]
squaredNumbers = map(lambda x: x**2, li)
print(squaredNumbers)Question 47Write a program which can map() and filter() to make a list whose elements are square of even number in [1,2,3,4,5,6,7,8,9,10]. Hints Solution li = [1,2,3,4,5,6,7,8,9,10]
evenNumbers = map(lambda x: x**2, filter(lambda x: x%2==0, li))
print(evenNumbers)Question 48Write a program which can filter() to make a list whose elements are even number between 1 and 20 (both included). Hints: Use filter() to filter elements of a list. Solution evenNumbers = filter(lambda x: x%2==0, range(1,21))
print(evenNumbers)Question 49Write a program which can map() to make a list whose elements are square of numbers between 1 and 20 (both included). Hints Solution squaredNumbers = map(lambda x: x**2, range(1,21))
print(squaredNumbers)Question 50Define a class named American which has a static method called printNationality. Hints: Solution class American(object):
@staticmethod
def printNationality():
print("America")
anAmerican = American()
anAmerican.printNationality()
American.printNationality()Question 51Define a class named American and its subclass NewYorker. Hints: Use class Subclass(ParentClass) to define a subclass. Solution: class American(object):
pass
class NewYorker(American):
pass
anAmerican = American()
aNewYorker = NewYorker()
print(anAmerican)
print(aNewYorker)Question 52Define a class named Circle which can be constructed by a radius. The Circle class has a method which can compute the area. Hints: Use def methodName(self) to define a method. Solution: class Circle(object):
def __init__(self, r):
self.radius = r
def area(self):
return self.radius**2*3.14
aCircle = Circle(2)
print aCircle.area()Question 53Define a class named Rectangle which can be constructed by a length and width. The Rectangle class has a method which can compute the area. Hints: Use def methodName(self) to define a method. Solution: class Rectangle(object):
def __init__(self, l, w):
self.length = l
self.width = w
def area(self):
return self.length*self.width
aRectangle = Rectangle(2,10)
print(aRectangle.area())Question 54Define a class named Shape and its subclass Square. The Square class has an init function which takes a length as argument. Both classes have a area function which can print the area of the shape where Shape's area is 0 by default. Hints: To override a method in super class, we can define a method with the same name in the super class. Solution: class Shape(object):
def __init__(self):
pass
def area(self):
return 0
class Square(Shape):
def __init__(self, l):
Shape.__init__(self)
self.length = l
def area(self):
return self.length*self.length
aSquare= Square(3)
print(aSquare.area())Question 55Please raise a RuntimeError exception. Hints: Use raise() to raise an exception. Solution: raise RuntimeError('something wrong')Question 56Write a function to compute 5/0 and use try/except to catch the exceptions. Hints: Use try/except to catch exceptions. Solution: def throws():
return 5/0
try:
throws()
except ZeroDivisionError:
print("division by zero!")
except Exception, err:
print('Caught an exception')
finally:
print('In finally block for cleanup')Question 57Define a custom exception class which takes a string message as attribute. Hints: To define a custom exception, we need to define a class inherited from Exception. Solution: class MyError(Exception):
"""My own exception class
Attributes:
msg -- explanation of the error
"""
def __init__(self, msg):
self.msg = msg
error = MyError("something wrong")Question 58Assuming that we have some email addresses in the "username@companyname.com" format, please write program to print the user name of a given email address. Both user names and company names are composed of letters only. Example: Then, the output of the program should be: john In case of input data being supplied to the question, it should be assumed to be a console input. Hints: Use \w to match letters. Solution: import re
emailAddress = raw_input()
pat2 = "(\w+)@((\w+\.)+(com))"
r2 = re.match(pat2,emailAddress)
print(r2.group(1))Question 59Assuming that we have some email addresses in the "username@companyname.com" format, please write program to print the company name of a given email address. Both user names and company names are composed of letters only. Example: Then, the output of the program should be: In case of input data being supplied to the question, it should be assumed to be a console input. Hints: Use \w to match letters. Solution: import re
emailAddress = raw_input()
pat2 = "(\w+)@(\w+)\.(com)"
r2 = re.match(pat2,emailAddress)
print(r2.group(2))Question 60Write a program which accepts a sequence of words separated by whitespace as input to print the words composed of digits only. Example: 2 cats and 3 dogs. Then, the output of the program should be: ['2', '3'] In case of input data being supplied to the question, it should be assumed to be a console input. Hints: Use re.findall() to find all substring using regex. Solution: import re
s = raw_input()
print(re.findall("\d+",s))Question 61Print a unicode string "hello world". Hints: Use u'strings' format to define unicode string. Solution: unicodeString = u"hello world!"
print(unicodeString)Question 62Write a program to read an ASCII string and to convert it to a unicode string encoded by utf-8. Hints: Use unicode() function to convert. Solution: s = input()
u = unicode( s ,"utf-8")
print(u)Question 63Write a special comment to indicate a Python source code file is in unicode. Hints: Solution: # -*- coding: utf-8 -*-
#----------------------------------------#Question 64Write a program to compute 1/2+2/3+3/4+...+n/n+1 with a given n input by console (n>0). Example: 5 Then, the output of the program should be: 3.55 In case of input data being supplied to the question, it should be assumed to be a console input. Hints: Solution: n=int(input())
sum=0.0
for i in range(1,n+1):
sum += float(float(i)/(i+1))
print(sum)Question 65Write a program to compute: f(n)=f(n-1)+100 when n>0 with a given n input by console (n>0). Example: 5 Then, the output of the program should be: 500 In case of input data being supplied to the question, it should be assumed to be a console input. Hints: Solution: def f(n):
if n==0:
return 0
else:
return f(n-1)+100
n=int(input())
print(f(n))Question 66The Fibonacci Sequence is computed based on the following formula: f(n)=0 if n=0 Please write a program to compute the value of f(n) with a given n input by console. Example: 7 Then, the output of the program should be: 13 In case of input data being supplied to the question, it should be assumed to be a console input. Hints: Solution: def f(n):
if n == 0: return 0
elif n == 1: return 1
else: return f(n-1)+f(n-2)
n=int(input())
print(f(n))Question 67The Fibonacci Sequence is computed based on the following formula: f(n)=0 if n=0 Please write a program using list comprehension to print the Fibonacci Sequence in comma separated form with a given n input by console. Example: 7 Then, the output of the program should be: 0,1,1,2,3,5,8,13 Hints: In case of input data being supplied to the question, it should be assumed to be a console input. Solution: def f(n):
if n == 0: return 0
elif n == 1: return 1
else: return f(n-1)+f(n-2)
n=int(input())
values = [str(f(x)) for x in range(0, n+1)]
print(",".join(values))Question 68Please write a program using generator to print the even numbers between 0 and n in comma separated form while n is input by console. Example: 10 Then, the output of the program should be: 0,2,4,6,8,10 Hints: In case of input data being supplied to the question, it should be assumed to be a console input. Solution: def EvenGenerator(n):
i=0
while i<=n:
if i%2==0:
yield i
i+=1
n=int(input())
values = []
for i in EvenGenerator(n):
values.append(str(i))
print(",".join(values))Question 69Please write a program using generator to print the numbers which can be divisible by 5 and 7 between 0 and n in comma separated form while n is input by console. Example: 100 Then, the output of the program should be: 0,35,70 Hints: In case of input data being supplied to the question, it should be assumed to be a console input. Solution: def NumGenerator(n):
for i in range(n+1):
if i%5==0 and i%7==0:
yield i
n=int(input())
values = []
for i in NumGenerator(n):
values.append(str(i))
print(",".join(values))Question 70Please write assert statements to verify that every number in the list [2,4,6,8] is even. Hints: Solution: li = [2,4,6,8]
for i in li:
assert i%2==0Question 71Please write a program which accepts basic mathematic expression from console and print the evaluation result. Example: 35+3 Then, the output of the program should be: 38 Hints: Solution: expression = raw_input()
print(eval(expression))Question 72Please write a binary search function which searches an item in a sorted list. The function should return the index of element to be searched in the list. Hints: Solution: import math
def bin_search(li, element):
bottom = 0
top = len(li)-1
index = -1
while top>=bottom and index==-1:
mid = int(math.floor((top+bottom)/2.0))
if li[mid]==element:
index = mid
elif li[mid]>element:
top = mid-1
else:
bottom = mid+1
return index
li=[2,5,7,9,11,17,222]
print(bin_search(li,11))
print(bin_search(li,12))Question 73Please write a binary search function which searches an item in a sorted list. The function should return the index of element to be searched in the list. Hints: Solution: import math
def bin_search(li, element):
bottom = 0
top = len(li)-1
index = -1
while top>=bottom and index==-1:
mid = int(math.floor((top+bottom)/2.0))
if li[mid]==element:
index = mid
elif li[mid]>element:
top = mid-1
else:
bottom = mid+1
return index
li=[2,5,7,9,11,17,222]
print(bin_search(li,11))
print(bin_search(li,12))Question 74Please generate a random float where the value is between 10 and 100 using Python math module. Hints: Solution: import random
print(random.random()*100)Question 75Please generate a random float where the value is between 5 and 95 using Python math module. Hints: Solution: import random
print(random.random()*100-5)Question 76Please write a program to output a random even number between 0 and 10 inclusive using random module and list comprehension. Hints: Solution: import random
print(random.choice([i for i in range(11) if i%2==0]))Question 77Please write a program to output a random number, which is divisible by 5 and 7, between 0 and 10 inclusive using random module and list comprehension. Hints: Solution: import random
print(random.choice([i for i in range(201) if i%5==0 and i%7==0]))Question 78Please write a program to generate a list with 5 random numbers between 100 and 200 inclusive. Hints: Solution: import random
print(random.sample(range(100), 5))Question 79Please write a program to randomly generate a list with 5 even numbers between 100 and 200 inclusive. Hints: Solution: import random
print(random.sample([i for i in range(100,201) if i%2==0], 5))Question 80Please write a program to randomly generate a list with 5 numbers, which are divisible by 5 and 7 , between 1 and 1000 inclusive. Hints: Solution: import random
print(random.sample([i for i in range(1,1001) if i%5==0 and i%7==0], 5))Question 81Please write a program to randomly print a integer number between 7 and 15 inclusive. Hints: Solution: import random
print(random.randrange(7,16))Question 82Please write a program to compress and decompress the string "hello world!hello world!hello world!hello world!". Hints: Solution: import zlib
s = b'hello world!hello world!hello world!hello world!'
t = zlib.compress(s)
print(t)
print(zlib.decompress(t))Question 83Please write a program to print the running time of execution of "1+1" for 100 times. Hints: Solution: from timeit import Timer
t = Timer("for i in range(100):1+1")
print(t.timeit())Question 84Please write a program to shuffle and print the list [3,6,7,8]. Hints: Solution: from random import shuffle
li = [3,6,7,8]
shuffle(li)
print(li)Question 85Please write a program to shuffle and print the list [3,6,7,8]. Hints: Solution: from random import shuffle
li = [3,6,7,8]
shuffle(li)
print(li)Question 86Please write a program to generate all sentences where subject is in ["I", "You"] and verb is in ["Play", "Love"] and the object is in ["Hockey","Football"]. Hints: Solution: subjects=["I", "You"]
verbs=["Play", "Love"]
objects=["Hockey","Football"]
for i in range(len(subjects)):
for j in range(len(verbs)):
for k in range(len(objects)):
sentence = "%s %s %s." % (subjects[i], verbs[j], objects[k])
print(sentence)Question 87Please write a program to print the list after removing delete even numbers in [5,6,77,45,22,12,24]. Hints: Solution: Question 88By using list comprehension, please write a program to print the list after removing delete numbers which are divisible by 5 and 7 in [12,24,35,70,88,120,155]. Hints: Solution: Question 89By using list comprehension, please write a program to print the list after removing the 0th, 2nd, 4th,6th numbers in [12,24,35,70,88,120,155]. Hints: Solution: li = [12,24,35,70,88,120,155]
li = [x for (i,x) in enumerate(li) if i%2!=0]
print(li)Question 90By using list comprehension, please write a program generate a 358 3D array whose each element is 0. Hints: Solution: Question 91By using list comprehension, please write a program to print the list after removing the 0th,4th,5th numbers in [12,24,35,70,88,120,155]. Hints: Solution: li = [12,24,35,70,88,120,155]
li = [x for (i,x) in enumerate(li) if i not in (0,4,5)]
print(li)Question 92By using list comprehension, please write a program to print the list after removing the value 24 in [12,24,35,24,88,120,155]. Hints: Solution: li = [12,24,35,24,88,120,155]
li = [x for x in li if x!=24]
print(li)Question 93With two given lists [1,3,6,78,35,55] and [12,24,35,24,88,120,155], write a program to make a list whose elements are intersection of the above given lists. Hints: Solution: set1=set([1,3,6,78,35,55])
set2=set([12,24,35,24,88,120,155])
set1 &= set2
li=list(set1)
print(li)Question 94With a given list [12,24,35,24,88,120,155,88,120,155], write a program to print this list after removing all duplicate values with original order reserved. Hints: Solution: def removeDuplicate( li ):
newli=[]
seen = set()
for item in li:
if item not in seen:
seen.add( item )
newli.append(item)
return newli
li=[12,24,35,24,88,120,155,88,120,155]
print(removeDuplicate(li))Question 95Define a class Person and its two child classes: Male and Female. All classes have a method "getGender" which can print "Male" for Male class and "Female" for Female class. Hints: Solution: class Person(object):
def getGender( self ):
return "Unknown"
class Male( Person ):
def getGender( self ):
return "Male"
class Female( Person ):
def getGender( self ):
return "Female"
aMale = Male()
aFemale= Female()
print(aMale.getGender())
print(aFemale.getGender())Question 96Please write a program which count and print the numbers of each character in a string input by console. Example: abcdefgabc Then, the output of the program should be: a,2 Hints: Solution: dic = {}
s=raw_input()
for s in s:
dic[s] = dic.get(s,0)+1
print('\n'.join(['%s,%s' % (k, v) for k, v in dic.items()]))Question 97Please write a program which accepts a string from console and print it in reverse order. Example: rise to vote sir Then, the output of the program should be: ris etov ot esir Hints: Solution: s=raw_input()
s = s[::-1]
print(s)Question 98Please write a program which accepts a string from console and print the characters that have even indexes. Example: H1e2l3l4o5w6o7r8l9d Then, the output of the program should be: Helloworld Hints: Solution: s=raw_input()
s = s[::2]
print(s)Question 99Please write a program which prints all permutations of [1,2,3] Hints: Solution: import itertools
print(list(itertools.permutations([1,2,3])))Question 100Write a program to solve a classic ancient Chinese puzzle: Hint: Solution: def solve(numheads,numlegs):
ns='No solutions!'
for i in range(numheads+1):
j=numheads-i
if 2*i+4*j==numlegs:
return i,j
return ns,ns
numheads=35
numlegs=94
solutions=solve(numheads,numlegs)
print(solutions) |
added python folder and functions